package cn.zymall.user.controller;

import cn.zymall.common.controller.crud.BaseController;
import cn.zymall.common.model.Footprint;
import cn.zymall.common.model.Spu;
import cn.zymall.user.service.FootprintService;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @author : th
 * @ClassName: FootprintController
 * @Description : 足迹控制器
 * @date 2020年08月19日 11:16
 **/

@RestController
@RequestMapping("foot")
public class FootprintController extends BaseController<FootprintService,Footprint> {


    @Autowired
    private FootprintService service;



    /**
     * @author：th
     * @Description：查询所有足迹
     * @Param：用户ID
     * @return：List<Footprint>
     **/
    @GetMapping("/footAll")
    public PageInfo<Spu> footAll(int id,int page,int rows){
        return service.footAll(id,page,rows);
    }


    /**
     * @author：th
     * @Description：模糊查询足迹
     * @Param：用户ID，商品名称
     * @return：List<Spu>
     **/
    @GetMapping("/footQuzzy")
    public PageInfo<Spu> footQuzzy(int id,String value,int page,int rows){
        return service.footQuzzy(id,value,page,rows);
    }

    /**
     * @author：th
     * @Description：查询足迹表，有就修改，没有就添加
     * @Param：footprint
     * @return：boolean
     **/
    @PostMapping("/footSave")
    public boolean footSave(Footprint footprint){
        return service.footSave(footprint);
    }

    /**
     * @author：th
     * @Description：足迹表删除
     * @Param：用户ID，商品编号list
     * @return：Boolean
     **/
    @DeleteMapping("/footList")
    public boolean footRemove(int id,List list){
        return service.footRemove(id,list);
    }

    /**
     * me修改
     * @param footprint
     * @return
     */
    @PutMapping("/myUpdate")
    public boolean myUpdate(@RequestBody Footprint footprint){
        return service.myUpdate(footprint);
    }

    /**
     * me新增
     * @param footprint
     * @return
     */
    @PostMapping("/mySave")
    public boolean mySave(@RequestBody Footprint footprint){
        return service.mySave(footprint);
    }

    /**
     * 删除
     * @param id
     * @return
     */
    @DeleteMapping("/mydelete")
    public boolean mydelete(int id){
        return  service.mydelete(id);
    }

    @GetMapping("/footAllDate")
    public List<Footprint> footAllDate(int id){
        return this.service.footAllDate(id);
    }
}
